﻿#ifndef AVDEVICE_H
#define AVDEVICE_H

#include <QList>
#include <QSize>

#include "MediaDevice.h"

struct FrameRateRange
{
    float minFrameRate;
    float maxFrameRate;
};

class MacMediaDevice : public MediaDevice
{
    Q_OBJECT
public:
    static QList<QPair<QString,QString>> getDeviceList(MediaDeviceType type);

    MacMediaDevice(QObject *parent = nullptr);

    virtual ~MacMediaDevice();

    virtual bool isPrepare() {return true;}

private:
    static int getIDFromUID(const QString &uid);

public:
    int                   index;
    QString               deviceName;
    QString               uid;
    QList<FrameRateRange> cameraFrameRates;
    QList<QSize>          supportedResolutions;
};

#endif
